[INFO] fetching crate cranpose-ui 0.1.15...
[INFO] fixing cranpose-ui-0.1.15 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-1
[INFO] extracting crate cranpose-ui 0.1.15 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate cranpose-ui 0.1.15
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate cranpose-ui 0.1.15
[INFO] tweaked toml for crates.io crate cranpose-ui 0.1.15 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cranpose-ui 0.1.15 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cranpose-ui 0.1.15 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a8c7608d1d8f4331efad7100b6b542d866f3ed93f01ee54e964cb86a3cf18f94
[INFO] running `Command { std: "docker" "start" "a8c7608d1d8f4331efad7100b6b542d866f3ed93f01ee54e964cb86a3cf18f94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a8c7608d1d8f4331efad7100b6b542d866f3ed93f01ee54e964cb86a3cf18f94" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a8c7608d1d8f4331efad7100b6b542d866f3ed93f01ee54e964cb86a3cf18f94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a8c7608d1d8f4331efad7100b6b542d866f3ed93f01ee54e964cb86a3cf18f94" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking web-time v1.1.0
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking page_size v0.6.0
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking criterion-plot v0.8.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling cranpose-macros v0.1.15
[INFO] [stderr]     Checking cranpose-ui-graphics v0.1.15
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking cranpose-core v0.1.15
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking criterion v0.8.2
[INFO] [stderr]     Checking cranpose-ui-layout v0.1.15
[INFO] [stderr]     Checking cranpose-animation v0.1.15
[INFO] [stderr]     Checking cranpose-foundation v0.1.15
[INFO] [stderr]     Checking cranpose-ui v0.1.15 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/layout/mod.rs (1 fix)
[INFO] [stderr]        Fixed src/modifier/slices.rs (1 fix)
[INFO] [stderr]        Fixed src/render_state.rs (1 fix)
[INFO] [stderr]        Fixed src/text_field_focus.rs (4 fixes)
[INFO] [stderr]        Fixed src/scroll.rs (1 fix)
[INFO] [stderr]        Fixed src/fling_animation.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/fling_animation.rs:118:31
[INFO] [stdout]     |
[INFO] [stdout]  36 |     let registration = frame_clock.with_frame_nanos(move |frame_time_nanos| {
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `registration` calls a custom destructor
[INFO] [stdout]     |         `registration` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |     if let Some(anim_state) = state.borrow_mut().as_mut() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 121 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `registration` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cranpose-core-0.1.15/src/frame_clock.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for FrameCallbackRegistration {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/modifier/scroll.rs:964:5
[INFO] [stdout]     |
[INFO] [stdout] 864 |         let motion_context = scroll_motion_context_for_key(ScrollMotionContextKey::ScrollState {
[INFO] [stdout]     |             --------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `motion_context` calls a custom destructor
[INFO] [stdout]     |             `motion_context` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 874 |         let pointer_input = Modifier::empty().pointer_input(key, move |scope| {
[INFO] [stdout]     |             -------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `pointer_input` calls a custom destructor
[INFO] [stdout]     |             `pointer_input` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 964 | / /     pointer_input
[INFO] [stdout] 965 | | |         .then(motion_modifier)
[INFO] [stdout]     | | |                              -
[INFO] [stdout]     | | |                              |
[INFO] [stdout]     | | |______________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 966 | |           .then(translated_content_modifier)
[INFO] [stdout]     | |                                            ^
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |____________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 969 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `motion_context` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `pointer_input` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/text/measure.rs:471:39
[INFO] [stdout]     |
[INFO] [stdout] 471 |             while let Some(evicted) = self.order.pop_front() {
[INFO] [stdout]     |                            -------    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |          |
[INFO] [stdout]     |                            |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `evicted` calls a custom destructor
[INFO] [stdout]     |                            `evicted` will be dropped later as of Edition 2024
[INFO] [stdout] 472 |                 if self.entries.remove(&evicted).is_some() {
[INFO] [stdout]     |                    -----------------------------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 475 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/widgets/nodes/layout_node.rs:1148:25
[INFO] [stdout]      |
[INFO] [stdout] 1141 |                 let (next_parent, resolved) = {
[INFO] [stdout]      |  _________________________________--------____-
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 `resolved` calls a custom destructor
[INFO] [stdout]      | |                                 `resolved` will be dropped later as of Edition 2024
[INFO] [stdout] 1142 | |                   let entries = self.entries.borrow();
[INFO] [stdout]      | |                       -------
[INFO] [stdout]      | |                       |
[INFO] [stdout]      | |                       `entries` calls a custom destructor
[INFO] [stdout]      | |                       `entries` will be dropped later as of Edition 2024
[INFO] [stdout] 1143 | |                   if let Some(entry) = entries.get(&parent_id) {
[INFO] [stdout] 1144 | |                       let resolved = if entry
[INFO] [stdout] ...    |
[INFO] [stdout] 1148 | | /                         entry
[INFO] [stdout] 1149 | | |                             .modifier_locals
[INFO] [stdout] 1150 | | |                             .borrow()
[INFO] [stdout]      | | |                                     ^
[INFO] [stdout]      | | |                                     |
[INFO] [stdout]      | | |_____________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout] 1153 | |                       } else {
[INFO] [stdout]      | |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout] 1160 | |               };
[INFO] [stdout]      | |               -
[INFO] [stdout]      | |               |
[INFO] [stdout]      | |_______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]      = note: `resolved` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/fling_animation.rs:118:31
[INFO] [stdout]     |
[INFO] [stdout]  36 |     let registration = frame_clock.with_frame_nanos(move |frame_time_nanos| {
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `registration` calls a custom destructor
[INFO] [stdout]     |         `registration` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 118 |     if let Some(anim_state) = state.borrow_mut().as_mut() {
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 121 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `registration` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/cranpose-core-0.1.15/src/frame_clock.rs:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl Drop for FrameCallbackRegistration {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/modifier_nodes.rs (1 fix)
[INFO] [stderr]    Migrating benches/slot_table_v2.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/modifier/scroll.rs:964:5
[INFO] [stdout]     |
[INFO] [stdout] 864 |         let motion_context = scroll_motion_context_for_key(ScrollMotionContextKey::ScrollState {
[INFO] [stdout]     |             --------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `motion_context` calls a custom destructor
[INFO] [stdout]     |             `motion_context` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 874 |         let pointer_input = Modifier::empty().pointer_input(key, move |scope| {
[INFO] [stdout]     |             -------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `pointer_input` calls a custom destructor
[INFO] [stdout]     |             `pointer_input` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 964 | / /     pointer_input
[INFO] [stdout] 965 | | |         .then(motion_modifier)
[INFO] [stdout]     | | |                              -
[INFO] [stdout]     | | |                              |
[INFO] [stdout]     | | |______________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 966 | |           .then(translated_content_modifier)
[INFO] [stdout]     | |                                            ^
[INFO] [stdout]     | |                                            |
[INFO] [stdout]     | |____________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 969 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `motion_context` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `pointer_input` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/text/measure.rs:471:39
[INFO] [stdout]     |
[INFO] [stdout] 471 |             while let Some(evicted) = self.order.pop_front() {
[INFO] [stdout]     |                            -------    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |          |
[INFO] [stdout]     |                            |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            `evicted` calls a custom destructor
[INFO] [stdout]     |                            `evicted` will be dropped later as of Edition 2024
[INFO] [stdout] 472 |                 if self.entries.remove(&evicted).is_some() {
[INFO] [stdout]     |                    -----------------------------
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 475 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/widgets/nodes/layout_node.rs:1148:25
[INFO] [stdout]      |
[INFO] [stdout] 1141 |                 let (next_parent, resolved) = {
[INFO] [stdout]      |  _________________________________--------____-
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 `resolved` calls a custom destructor
[INFO] [stdout]      | |                                 `resolved` will be dropped later as of Edition 2024
[INFO] [stdout] 1142 | |                   let entries = self.entries.borrow();
[INFO] [stdout]      | |                       -------
[INFO] [stdout]      | |                       |
[INFO] [stdout]      | |                       `entries` calls a custom destructor
[INFO] [stdout]      | |                       `entries` will be dropped later as of Edition 2024
[INFO] [stdout] 1143 | |                   if let Some(entry) = entries.get(&parent_id) {
[INFO] [stdout] 1144 | |                       let resolved = if entry
[INFO] [stdout] ...    |
[INFO] [stdout] 1148 | | /                         entry
[INFO] [stdout] 1149 | | |                             .modifier_locals
[INFO] [stdout] 1150 | | |                             .borrow()
[INFO] [stdout]      | | |                                     ^
[INFO] [stdout]      | | |                                     |
[INFO] [stdout]      | | |_____________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      | |                                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout] 1153 | |                       } else {
[INFO] [stdout]      | |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout] 1160 | |               };
[INFO] [stdout]      | |               -
[INFO] [stdout]      | |               |
[INFO] [stdout]      | |_______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]      = note: `resolved` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/basic_text_field_style_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/skip_recomposition.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/graphics_layer_backdrop_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/test_node_duplication.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/text_hyphenation_contract_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/modifier_showcase.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/shadow_api_integration.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating benches/pipeline.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/modifier_demo.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/text_options_contract_integration.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.37s
[INFO] [stderr] crater-edition-check: cranpose-ui v0.1.15 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking cranpose-ui v0.1.15 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.26s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "a8c7608d1d8f4331efad7100b6b542d866f3ed93f01ee54e964cb86a3cf18f94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8c7608d1d8f4331efad7100b6b542d866f3ed93f01ee54e964cb86a3cf18f94", kill_on_drop: false }`
[INFO] [stdout] a8c7608d1d8f4331efad7100b6b542d866f3ed93f01ee54e964cb86a3cf18f94
